package com.intretech.umsin.system.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.intretech.umsin.common.web.ApiResult;
import com.intretech.umsin.system.param.SysRoleDeptParam;
import com.intretech.umsin.system.vo.SysRoleDeptVo;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* @version V1.0
* 角色和部门关联: sys_role_dept 为其他服务提供内部调用接口 API.
* @InterfaceName: SysRoleDeptApi
* @Description: 角色和部门关联:sys_role_dept 为其他服务提供内部调用接口 API.
* @author: 李启联
* @date:   2022-8-16 16:44:07
* @Copyright: Copyright (c) 2022
*/

public interface SysRoleDeptApi {

    @GetMapping("/system/sysroledept/get/{id}")
    public ApiResult<SysRoleDeptVo> querySysRoleDeptById(@PathVariable("id") String id);

    @PostMapping("/system/sysroledept/listByIds")
    public ApiResult<List<SysRoleDeptVo>> querySysRoleDeptByIds(@RequestBody List<String> ids);

    @PostMapping("/system/sysroledept/page/{pageNo}/{pageSize}")
    public ApiResult<IPage<SysRoleDeptVo>> querySysRoleDeptForPage(@RequestBody SysRoleDeptParam params, @PathVariable("pageNo") Integer pageNo, @PathVariable("pageSize") Integer pageSize);

    @PostMapping("/system/sysroledept/list")
    public ApiResult<List<SysRoleDeptVo>> querySysRoleDeptForList(@RequestBody SysRoleDeptParam params);

    @PostMapping("/system/sysroledept/add")
    public ApiResult<SysRoleDeptVo> addSysRoleDept(@RequestBody SysRoleDeptVo vo);

    @PostMapping("/system/sysroledept/adds")
    public ApiResult<List<SysRoleDeptVo>> addsSysRoleDept(@RequestBody List<SysRoleDeptVo> voList);

    @PutMapping("/system/sysroledept/modify")
    public ApiResult<SysRoleDeptVo> modifySysRoleDept(@RequestBody SysRoleDeptVo vo);

    @PutMapping("/system/sysroledept/modifys")
    public ApiResult<List<SysRoleDeptVo>> modifysSysRoleDept(@RequestBody List<SysRoleDeptVo> voList);

    @DeleteMapping("/system/sysroledept/remove/{id}")
    public ApiResult<Void> removeSysRoleDept(@PathVariable("id") String id);

    @DeleteMapping("/system/sysroledept/removes")
    public ApiResult<Void> removesSysRoleDept(@RequestBody List<String> ids);


}